1. Technical Field
The present invention relates to an image compressing technology and, specifically, relates to an image decoder and an image decoding method for decoding image data compressed according to the international standardizing organization/international electric standard conference (ISO/IEC) 14496 (hereinafter, referred to as the MPEG-4).
2. Description of Related Art
According to a time-varying image encoding method including the MPEG-4, when data compressing image data or a differential image between the image data and predictive image data, there is used a discrete cosine transformation (DCT) processing. Specifically, a DCT processing is enforced on the image data or differential image data and the resultant DCT coefficient is encoded after quantized.
In the MPEG-2, of two or more blocks obtained by dividing an image, a difference between the direct current (DC) components of the mutually adjoining blocks in the horizontal direction is encoded. On the other hand, in the MPEG-4, for an intra encoding processing, there is employed the adaptive AC/DC prediction method which adaptively prediction encodes the DC component and quantized alternating current (AC) component of blocks adjoining in the horizontal direction or in the vertical direction, thereby enhancing encoding efficiency (for example, see ISO/IEC 14496-2 and ISO/IEC 14496-5).
In the adaptive DC prediction method, the varying amounts of the DC components of mutually adjoining left block and left upper block are compared with the varying amounts of the DC components of mutually adjoining left upper block and upper block, the DC component of the current block is predicted from the direction that is smaller in inclination. When this method is used, prediction can be executed from the pixels that have a high correlation between them, thereby being able to enhance the ratio of compression. According to the above comparison results, it is decided which one of “horizontal prediction” using horizontally adjoining blocks and “vertical prediction” using vertically adjoining blocks is executed.
On the decoding side, after inverse quantization, the DC and AC components are rounded into the dynamic range of the DCT coefficients by a saturation processing. After then, an inverse DCT processing is enforced to reproduce the DC and AC components. Here, the “saturation processing” means a processing which executes a clip operation on the DC and AC components after inversely quantized in such a manner that the components are restricted to a predetermined range.
However, as regards the saturation processing, the MPEG-4 standards also give an ambiguous expression as to the saturation processing, which gives rise to lack of unity in encoding many MPEG-4 derivative video codes which are popular on the market. Specifically, in the post processing of the saturation processing, for a processing referring to such value (the inverse DCT and AC/DC prediction), the regulation states clearly that a saturation processing should be enforced on the inverse DCT, whereas it is not clear whether such saturation processing should be applied to the AC/DC prediction as well or not.
In fact, there is inconsistency even in the separate volumes of the standards. According to the ISO/IEC 14496-2 (Visual), we can read that the saturation processing should be executed; however, according to source codes contained in the ISO/IEC 14496-5 (Reference software), it is suggested that the saturation processing should not be executed. The following two types of applications coexist.
TABLE 1SaturationSaturationProcessing forprocessing forCasesinverse DCTAC/DC predictionemployedRelated Art 1YesYesISO/IEC14496-2,etc.Related Art 2YesNoISO/IEC14496-5,etc.
The difference, generally, is not recognized so well. Or, even when such difference is recognized, it is often considered that such difference cannot develop into a problem. The reason for this is as follows: that is, even if the difference exceeds the range of −2048˜+2047, an excess portion is limited to a minute value and thus, provided that the bit width of the register is sufficient, it is considered that such excess value cannot reach a visually recognizable level as a display pixel value.
However, when the DC component exceeds the given range, even if the excess value is minute (for example, only if it increases from +2047 to +2048), an analysis result obtained from size comparison in the adaptive AC/DC prediction process inherent to the MPEG-4 is caused to vary, which gives rise to an error in judging the horizontal prediction and vertical prediction. When an error occurs in the judgment as to the horizontal and vertical predictions, there is produced noise of a visually recognizable level due to the ill influence of the judgment error.
The occurrence of this phenomenon depends on a stream but is reproducible. Thus, when such noise occurs once, the noise remains on a screen until a next intra-VOP (I-VOP) appears (normally, in the range of about 1/30 sec. to 10 sec.).
As has been described above, when the image data encoded in conformity to the ISO/IEC 14496-2 are decoded in conformity to the ISO/IEC 14496-5, or when the image data encoded in conformity to the ISO/IEC 14496-5 are decoded in conformity to the ISO/IEC 14496-2, there is a problem that visually recognizable noise can occur on the screen.